10652
8505
我正在尝试取消剖析后加载预测,但出现此错误
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29:
DeprecationWarning:numpy.core.umath_tests是一个内部NumPy模块
并且不应该导入。它将在以后的NumPy中删除
发布。从numpy.core.umath_tests导入inner1d
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311:
UserWarning:尝试释放估算器DecisionTreeClassifier从
使用0.19.2版时为0.20.2版。这可能会导致破裂
代码或无效结果。使用风险自负。用户警告)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311:
UserWarning:尝试从以下位置释放估算器RandomForestClassifier
使用0.19.2版时为0.20.2版。这可能会导致破裂
代码或无效结果。使用风险自负。用户警告)
追溯(最近一次通话):文件“ rf_pred_model_tester.py”,
第7行
print('Class:',int(rf.predict(xx)))文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py” ,
预测中的第538行
proba = self.predict_proba(X)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py”,
第581行,位于predict_proba中
n_jobs,_,_ = _partition_estimators(self.n_estimators,self.n_jobs)文件
“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py”,
第153行,在_partition_estimators中
n_jobs = min(_get_n_jobs(n_jobs),n_estimators)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py”,
第464行,在_get_n_jobs中
如果n_jobs <0:TypeError:“ NoneType”和“ int”的实例之间不支持“ <”
这是我正在尝试运行的代码
进口泡菜
将numpy导入为np
将open('rf_model_1','rb')设为f:
rf = pickle.load(f)
xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1)
print('Class:',int(rf.predict(xx)))
我期望这样的结果:
类别:[0]
如果我在jupyter上运行代码可以正常工作,但是,当我尝试在终端上运行时出现错误。 
您的错误直言不讳:
用户警告:使用0.19.2版本时,尝试释放0.20.2版本的估计器RandomForestClassifier。这可能会导致代码破裂或无效结果。使用风险自负。
确实就是这样。腌制时,您的RandomForestClassifier的属性n_jobs保持为None。这是初始化的默认值,但通常在后台将其设置为1。您可以在此处找到有关n_jobs的更多详细信息:https://scikit-learn.org/stable/glossary.html#term-n-jobs
对您来说,将rf的n_jobs设置为1可以解决问题:
进口泡菜
将numpy导入为np
将open('rf_model_1','rb')设为f:
rf = pickle.load(f)
rf.n_jobs = 1
xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1)
print('Class:',int(rf.predict(xx)))
|
高度活跃的问题。赢得10个声誉才能回答这个问题。信誉要求有助于保护该问题免受垃圾邮件和非答复活动的侵害。
不是您要找的答案?浏览其他标记为python-3.x的问题,或询问您自己的问题。